package com.ticket.service;

import com.ticket.entity.HomePage;
import com.ticket.entity.Movie;
import com.ticket.entity.MovieCollect;
import com.ticket.entity.Search;
import com.ticket.util.Page;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author 全谢民
 * @version 8.0
 * @description: TODO
 * @date 2023/10/216:34
 */
public interface MovieService {

    /**
     * @author 全谢民
     * @description TODO 前端首页电影根据电影评分降序
     * @date 2023/10/12 11:32
     * @return java.util.List<com.ticket.entity.Movie>
     */
    List<HomePage> selHomeMovieList();

    /**
     * @author 全谢民
     * @description TODO 前端搜索页面查询电影
     * @date 2023/10/14 16:50
     * @param search 对象入参
     * @return java.util.List<com.ticket.entity.Search>
     */
    List<Search> selSearchMovieList(Search search);
    /**
     * @author 全谢民
     * @description TODO 查询用户收藏列表的电影收藏
     * @date 2023/10/9 19:43
     * @param userId       用户id
     * @return java.util.List<com.ticket.entity.MovieCollect>
     */
    List<MovieCollect> selMovieCollectList(int userId);





    /**
     * @author 全谢民
     * @description TODO 前端首页获取评分前1/2-7的电影
     * @date 2023/10/2 16:36
     * @param page
     * @return org.t69.auction.Page<com.ticket.entity.Movie>
     */
    Page<Movie> selMovie (Page page);

    /**
     * @author 全谢民
     * @description TODO 分类页面电影查询
     * @date 2023/10/3 14:08
     * @param page
     * @param MovieAddress
     * @return org.t69.auction.Page<com.ticket.entity.Movie>
     */
    Page<Movie> movieClassification (Page<Movie> page , Movie MovieAddress);

    /**
     * @description TODO 后端电影分页查询
     * @author XuGuoZhi
     * @date 2023/10/13 18:38
      * @param moviePage
     * @param movieName
     * @return com.ticket.util.Page<com.ticket.entity.Movie>
     */
    Page<Movie> moviePageAndMovieNameSel(Page<Movie> moviePage, String movieName );
    /**
     * @description TODO 后端电影分页查询
     * @author Lixin
     * @date 2023/10/14 19:38
     * @param moviePage
     * @param movie
     * @return com.ticket.util.Page<com.ticket.entity.Movie>
     */
    Page<Movie> selMoviePageMovieName(Page<Movie> moviePage,Movie movie);
}
